home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
041-050
/
amok41
/
spiele
/
mastermind
/
txt
/
warnung.mod
< prev
next >
Wrap
Text File
|
1993-11-04
|
7KB
|
240 lines
(*********************************************************************
*
* :Program. Abfrage ob Drucker angeschlossen gibt BOOLEAN zurück
* :Author. Hans Schafft
* :Address. Landfriedstraße 1A - Hinterhaus
* :Address. 6900 Heidelberg
* :Phone. 06221 - 22416
* :Version. 1.0
* :Date. 1989
* :Copyright. PD
* :Language. Modula-II
* :Translator. M2Amiga
*
*********************************************************************)
IMPLEMENTATION MODULE WARNUNG;
FROM SYSTEM IMPORT ADR, ADDRESS, LONGSET;
FROM Intuition IMPORT GadgetPtr, WindowPtr,IntuiText,RemoveGadget,
IntuiMessagePtr, IDCMPFlags, IDCMPFlagSet,
boolGadget, reqGadget, ActivationFlags,Request,
ActivationFlagSet, Border, Gadget, GadgetFlagSet,
Requester, RequesterFlagSet, InitRequester;
FROM Exec IMPORT MemReqs, MemReqSet, WaitPort, ReplyMsg, GetMsg;
FROM Graphics IMPORT jam2, jam1;
CONST
RequBreite = 320; RequHoehe = 60;
GadBreite = 115; GadHoehe = 10;
VAR
WarnRequest : Requester;
WarnGad1Text : IntuiText;
WarnGad1 : Gadget;
WarnGad1Border: Border;
WarnGad1Ecken : ARRAY [1..10] OF INTEGER;
WarnGad2Text : IntuiText;
WarnGad2 : Gadget;
WarnGad2Border: Border;
WarnGad2Ecken : ARRAY [1..10] OF INTEGER;
WarnReqBorder : Border;
WarnReqEcken : ARRAY [1..10] OF INTEGER;
WarnReqText : ARRAY [0..1] OF IntuiText;
(******************************************************************)
PROCEDURE DruckerAn(wiPtr : WindowPtr) : BOOLEAN;
VAR
gadPtr : GadgetPtr;
gadNr,z : INTEGER;
hilfen,y : INTEGER;
versuche,x : INTEGER;
msgPtr : IntuiMessagePtr;
class : IDCMPFlagSet;
code : CARDINAL;
ende,mode : BOOLEAN;
BEGIN
IF Request(ADR(WarnRequest),wiPtr) THEN
ende := FALSE;mode := TRUE;
REPEAT
WaitPort(wiPtr^.userPort);
LOOP
msgPtr := GetMsg(wiPtr^.userPort);
IF msgPtr=NIL THEN EXIT END;
class := msgPtr^.class;
code := msgPtr^.code;
gadPtr := msgPtr^.iAddress;
gadNr := gadPtr^.gadgetID;
ReplyMsg(msgPtr);
IF (class = IDCMPFlagSet{gadgetUp}) THEN
CASE gadNr OF
| 1 : mode := TRUE; ende := TRUE;
| 2 : mode := FALSE; ende := TRUE;
ELSE
END;
END;
IF ende THEN EXIT END;
END; (* LOOP *)
UNTIL ende;
END;
RETURN mode;
END DruckerAn;
(******************************************************************)
PROCEDURE RichteEinGadgetJa;
BEGIN
(* Koordinaten für den Rand der Gadget Box *)
WarnGad1Ecken[1] := 0; WarnGad1Ecken[2] := 0;
WarnGad1Ecken[3] := GadBreite+1; WarnGad1Ecken[4] := 0;
WarnGad1Ecken[5] := GadBreite+1; WarnGad1Ecken[6] := GadHoehe+1;
WarnGad1Ecken[7] := 0; WarnGad1Ecken[8] := GadHoehe+1;
WarnGad1Ecken[9] := 0; WarnGad1Ecken[10] := 0;
WITH WarnGad1Border DO
leftEdge := -1; topEdge := -1;
frontPen := 4; backPen := 0;
drawMode := jam1; count := 5;
xy := ADR(WarnGad1Ecken); nextBorder := NIL;
END;
WITH WarnGad1Text DO
leftEdge := 3; topEdge := 1;
frontPen := 12; backPen := 2;
drawMode := jam2;
iText := ADR("NA KLAR DOCH!");
iTextFont := NIL; nextText := NIL;
END;
WITH WarnGad1 DO
leftEdge := 190;
topEdge := RequHoehe - (GadHoehe + 13);
width := GadBreite;
height := GadHoehe;
flags := GadgetFlagSet{};
activation := ActivationFlagSet{endGadget, relVerify};
gadgetType := boolGadget + reqGadget;
gadgetRender := ADR(WarnGad1Border);
gadgetText := ADR(WarnGad1Text);
mutualExclude:= LONGSET{};
nextGadget := NIL;
selectRender := NIL;
specialInfo := NIL;
userData := NIL;
gadgetID := 1;
END;
END RichteEinGadgetJa;
(******************************************************************)
PROCEDURE RichteEinGadgetNein;
BEGIN
(* Koordinaten für den Rand der Gadget Box *)
WarnGad2Ecken[1] := 0; WarnGad2Ecken[2] := 0;
WarnGad2Ecken[3] := GadBreite+4; WarnGad2Ecken[4] := 0;
WarnGad2Ecken[5] := GadBreite+4; WarnGad2Ecken[6] := GadHoehe+1;
WarnGad2Ecken[7] := 0; WarnGad2Ecken[8] := GadHoehe+1;
WarnGad2Ecken[9] := 0; WarnGad2Ecken[10] := 0;
WITH WarnGad2Border DO
leftEdge := -1; topEdge := -1;
frontPen := 4; backPen := 0;
drawMode := jam2; count := 5;
xy := ADR(WarnGad2Ecken);
nextBorder := NIL;(*ADR(WarnGad1Border);*)
END;
WITH WarnGad2Text DO
leftEdge := 5; topEdge := 1;
frontPen := 12; backPen := 2;
drawMode := jam2;
iText := ADR("ACH MIST,NEE!");
iTextFont := NIL; nextText := NIL;
END;
WITH WarnGad2 DO
leftEdge := 10;
topEdge := RequHoehe - (GadHoehe + 13);
width := GadBreite;
height := GadHoehe;
flags := GadgetFlagSet{};
activation := ActivationFlagSet{endGadget, relVerify};
gadgetType := boolGadget + reqGadget;
gadgetRender := ADR(WarnGad2Border);
gadgetText := ADR(WarnGad2Text);
mutualExclude:= LONGSET{};
nextGadget := ADR(WarnGad1);
selectRender := NIL;
specialInfo := NIL;
userData := NIL;
gadgetID := 2
END;
END RichteEinGadgetNein;
(******************************************************************)
PROCEDURE RichteEinRequester;
BEGIN
WarnReqEcken[1] := 0; WarnReqEcken[2] := 0;
WarnReqEcken[3] := RequBreite-3; WarnReqEcken[4] := 0;
WarnReqEcken[5] := RequBreite-3; WarnReqEcken[6] := RequHoehe-3;
WarnReqEcken[7] := 0; WarnReqEcken[8] := RequHoehe-3;
WarnReqEcken[9] := 0; WarnReqEcken[10] := 0;
WITH WarnReqBorder DO
leftEdge := 1; topEdge := 1;
frontPen := 3; backPen := 0;
drawMode := jam2; count := 5;
xy := ADR(WarnReqEcken); nextBorder := NIL;
END;
InitRequester(ADR(WarnRequest));
WITH WarnRequest DO
leftEdge := 30;
topEdge := 210;
width := RequBreite;
height := RequHoehe;
reqGadget := ADR(WarnGad2);
reqText := ADR(WarnReqText);
reqBorder := ADR(WarnReqBorder);
backFill := 2;
END;
END RichteEinRequester;
(******************************************************************)
PROCEDURE RichteEinRequesterText;
PROCEDURE InitIText(VAR itext: IntuiText; L, T: CARDINAL; Next, text: ADDRESS);
BEGIN
WITH itext DO
leftEdge := L+15; topEdge := T;
frontPen := 12; backPen := 2;
drawMode := jam2; iText := text;
iTextFont := NIL; nextText := Next
END
END InitIText;
BEGIN
InitIText(WarnReqText[0], 5, 10, ADR(WarnReqText[1]),
ADR("IST DENN AUCH WIRKLICH EIN DRUCKER"));
InitIText(WarnReqText[1], 5, 20, NIL,
ADR("ANGESCHLOSSEN UND EINGESCHALTET ??"));
END RichteEinRequesterText;
(******************************************************************)
(******************************************************************)
BEGIN
RichteEinGadgetJa; RichteEinGadgetNein;
RichteEinRequesterText; RichteEinRequester;
END WARNUNG.